****************************************************************************************************************************
Date: 19 august 2019

Purpose: Add academic and vocational track, add later educational outcomes
		
****************************************************************************************************************************;


****************************************
Outcome: 
Enrolled in academic track by age 19
Enrolled in voccational track by age 19
Enrolled in higher edu age 20
Enrolled in university age 20
****************************************;

*Indhenter først uddannelses information - igangværende uddannelse;
Libname raw1 'G:\Data\Rawdata\702727\data201108';
Libname raw2 'G:\Data\Rawdata\702727\data201204';
Libname raw3 'G:\Data\Rawdata\702727\data201302';


%macro udd(start,slut);
%do i=&start %to &slut;

data udd&i;
set raw1.tot_udda&i (keep = pnr igudd);
year=&i;

%end; 
%mend;
%udd(1980,2009);

data udd2010;
set raw2.tot_udda2010 (keep=pnr udd rename=(udd=igudd));
year=2010;
run;

data udd2011;
set raw3.tot_udda2011 (keep=pnr udd rename=(udd=igudd));
year=2011;
run;

data udd2012;
set raw3.tot_udda2012 (keep=pnr udd rename=(udd=igudd));
year=2012;
run;

data uddannelse;
set udd1980 udd1981 udd1982 udd1983 udd1984 udd1985 udd1986 udd1987 udd1988 udd1989 udd1990 udd1991 udd1992 udd1993 udd1994 
udd1995 udd1996 udd1997 udd1998 udd1999 udd2000 udd2001 udd2002 udd2003 udd2004 udd2005 
udd2006 udd2007 udd2008 udd2009 udd2010 udd2011 udd2012;
run;


*Indhenter nu uddannelses formater;
Libname formater '\\SRVFSENAS3\formater\SAS formater i Danmarks Statistik\SAS_datasaet\uddannelser';


DATA udd_fsp;
 LENGTH igudd $ 4;
 SET formater.c_udd2011_l1l2_k (KEEP=start udd2011_l1l2_k RENAME=(start=igudd udd2011_l1l2_k=igfsp));
run;

PROC SORT DATA=udd_fsp;
 BY igudd;
RUN;


PROC SORT DATA=uddannelse;
BY igudd;
RUN;



DATA uddannelse1 (KEEP=pnr igfsp igudd year ); 
MERGE uddannelse (in=a) udd_fsp;
BY igudd;
IF a=1;
run;


******************************************************
*Henter NICU data som dette skal kobles sammen med
******************************************************;
libname in 'G:\Data\Workdata\702727\xru\NICU project\Datasæt';

data nicu;
set in.nicu_parentalhealth (keep=pnr fodtdato);

birthyear=year(fodtdato);
run;
proc freq data=nicu;
table birthyear;
run;

proc sort data=nicu;
by pnr;
run;

proc sort data=uddannelse1;
by pnr;
run;

data uddannelse2;
merge nicu (in=b) uddannelse1;
by pnr;
if b;
run;

data uddannelse2;
set uddannelse2;

igfsp_kort=substr(igfsp,1,4);

igfsp_kort_num=igfsp_kort*1;
run;

proc freq data=uddannelse2;
tables igfsp_kort;
run;


*Danner forskellige uddannelses kategorier;
data uddannelse2;
set uddannelse2;
udd ="        ";
if igfsp_kort in("1002", " 501") then udd="kl1_6";
if igfsp_kort in("1003") then udd="kl7_10";
if igfsp_kort in("1511") then udd="AMU";
if igfsp_kort in ("1510") then udd="hojskole";
if igfsp_kort in("2015", "2016", "2017", "2018", "2539", "2551") then udd="gym";
if igfsp_kort in("3039", "3040", "3042", "3044", "3046", "3048", "3049", "3050", "3520", "3539", "3553", "3554", "3555", "3558", "3560"
	"3575", "3580", "3585", "3590") then udd="erhverv";
if igfsp_kort in ("4025", "4025", "4039", "4059", "4090", "5020", "5030", "5039", "5059", "5090", "6025", "6030", "6035" "6039"
	"6059", "6080", "6090") then udd="videre";
if igfsp_kort in ("6025", "6030", "6035" "6039"
	"6059", "6080", "6090") then udd="uni";

if igfsp_kort="" then udd="ingen";

*laver numerisk kort igfsp;
udd_num =.;
if igfsp_kort_num in("1002") then udd_num=1;	*"kl1_6";
if igfsp_kort_num in("1003") then udd_num=2;	*"kl7_10";
if igfsp_kort_num in("1511") then udd_num=3;	*"AMU";
if igfsp_kort_num in ("1510") then udd_num=4;	*"hojskole";
if igfsp_kort_num in("2015", "2016", "2017", "2018", "2539", "2551") then udd_num=5; 	*"gym";
if igfsp_kort_num in("3039", "3040", "3042", "3044", "3046", "3048", "3049", "3050", "3520", "3539", "3553", "3554", "3555", "3558", "3560"
	"3575", "3580", "3585", "3590") then udd_num=6; 	*"erhverv";
if igfsp_kort_num in ("4025", "4025", "4039", "4059", "4090", "5010", "5020", "5030", "5039", "5059", "5090", "6025", "6030", "6035" "6039"
	"6059", "6080", "6090") then udd_num=7;	*"videre";
if igfsp_kort_num in ("6025", "6030", "6035" "6039"
	"6059", "6080", "6090") then udd_num=8;	*"uni";
if igfsp_kort_num="" then udd_num=0; *ingen;

run;

*fordeler udd. på år;
data uddannelse3;
set uddannelse2;

if year=birthyear+14 then udd_14=udd_num;
if year=birthyear+15 then udd_15=udd_num;
if year=birthyear+16 then udd_16=udd_num;
if year=birthyear+17 then udd_17=udd_num;
if year=birthyear+18 then udd_18=udd_num;
if year=birthyear+19 then udd_19=udd_num;
if year=birthyear+20 then udd_20=udd_num;
if year=birthyear+21 then udd_21=udd_num;
if year=birthyear+22 then udd_22=udd_num;
if year=birthyear+23 then udd_23=udd_num;
if year=birthyear+24 then udd_24=udd_num;



drop year igfsp_kort_num udd_num;
run;

proc sort data=uddannelse3;
by pnr;
run;

*Beholder kun en observation per pnr nummer;
proc means data=uddannelse3 NWAY NOPRINT;
class pnr;
Output out=uddannelse4 min=;
run;

proc freq data=uddannelse4;
tables udd_14 udd_15 udd_16 udd_17 udd_18 udd_19 udd_20;
run;

*som 14årig er alle i folkeskolen;
*Og ingen er på en videregående uddannelse før de fylder 18;

data uddannelse4;
set uddannelse4;


ac_track=0;
if udd_14=5 or udd_15=5 or udd_16=5 or udd_17=5 or udd_18=5 or udd_19=5  then ac_track=1;

voc_track=0;
if udd_14=6 or udd_15=6 or udd_16=6 or udd_17=6 or udd_18=6 or udd_19=6  then voc_track=1;


ac_track_at_18=0;
if udd_18=5 then ac_track_at_18=1;

voc_track_at_18=0;
if udd_18=6 then voc_track_at_18=1;



higher_enrollment20=0;
if udd_14=7 or udd_15=7 or udd_16=7 or udd_17=7 or udd_18=7 or udd_19=7 or udd_20=7  then higher_enrollment20=1;

uni_enrollment20=0;
if udd_14=8 or udd_15=8 or udd_16=8 or udd_17=8 or udd_18=8 or udd_19=8 or udd_20=8  then uni_enrollment20=1;

higher_enrollment24=0;
if udd_14=7 or udd_15=7 or udd_16=7 or udd_17=7 or udd_18=7 or udd_19=7 or udd_20=7 or udd_21=7 or udd_22=7 or udd_23=7 or udd_24=7  then higher_enrollment24=1;

uni_enrollment24=0;
if udd_14=8 or udd_15=8 or udd_16=8 or udd_17=8 or udd_18=8 or udd_19=8 or udd_20=8 or udd_21=7 or udd_22=7 or udd_23=7 or udd_24=7  then uni_enrollment24=1;



run;


proc freq data=uddannelse4;
tables higher_enrollment20 uni_enrollment20 higher_enrollment24 uni_enrollment24 ac_track voc_track ac_track_at_18 voc_track_at_18;
run;

/*

proc print data=uddannelse4 (obs=1000);
var pnr birthyear ac_track voc_track;
run;
 

*/

*Gemmer kun de variable jeg skal bruge videre;
data uddannelse5;
set uddannelse4 (keep = pnr FODTDATO birthyear ac_track_at_18 voc_track_at_18 higher_enrollment20 uni_enrollment20 higher_enrollment24 uni_enrollment24);

if birthyear>1993 then higher_enrollment20=.;

if birthyear>1993 then uni_enrollment20=.;


if birthyear>1989 then higher_enrollment24=.;

if birthyear>1989 then uni_enrollment24=.;
run;



/*
data track;
set track;

enrolled_beyond=0;
if ac_track=1 or voc_track=1 then enrolled_beyond=1;

if birthyear>1993 then enrolled_beyond=.;
run;
*/

proc sort data=uddannelse5 (keep = pnr ac_track_at_18 voc_track_at_18 higher_enrollment20 uni_enrollment20 higher_enrollment24 uni_enrollment24);
by pnr;
run;


proc means data=uddannelse5 ;

run;

*************
Gemmer data
*************;

*SAS datasæt;
libname out 'G:\Data\Workdata\702727\xru\NICU project\Datasæt';

data out.track_revision;
set uddannelse5;
run;

*STATA datasæt;
proc export data=uddannelse5 outfile="G:\Data\Workdata\702727\xru\NICU project\Datasæt\track_rev19082019.dta" dbms=stata replace;
run;
